#pragma once
//#include "MyLibrary.h"
#include <string>
using namespace std;

class MyChart
{
protected:
	ShapeInfor infor;

public:
	MyChart(void)
	{
	}

	~MyChart(void)
	{
	}

	void SetShapesInformation(int x, int y, int width, int height, char stroke[], int strokeWidth, char fill[])
	{
		infor._x = x;
		infor._y = y;
		infor._width = width;
		infor._height = height;
		
		for (int i = 0; i < 3; i++)
			infor._stroke[i] = stroke[i];
		
		infor._strokeWidth = strokeWidth;
		
		for (int i = 0; i < 3; i++)
			infor._fill[i] = fill[i];
	};

	void SetShapesInformation(ShapeInfor information)
	{
		infor = information;
	}

	ShapeInfor GetShapeInfor()
	{
		return infor;
	}

	//---------------------------------------------
	// Tat ca ham Khoi tao hinh cua 1 loai Bieu do
	//---------------------------------------------
	virtual Input * CreateInput() = 0;
	virtual Output * CreateOutput() = 0;
	virtual Start * CreateStart() = 0;
	virtual End * CreateEnd() = 0;
	virtual Condition * CreateCondition() = 0;
	virtual Transition * CreateTransition() = 0;
	virtual Processer * CreateProcesser() = 0;
	virtual string GetName() = 0;
};


